<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      /*
        async 异步函数
        ① 修改函数的默认返回值为：new Promise
        ② 可以使用 return 给 then 回调函数传递参数
        ③ 给 await 提供运行环境

        await 运算符 一元
        ① 只能运行在 async 的函数中
        ② 可以对任何数据类型进行运算
        ③ 对Promise对象进行运算，返回值是 resolve 的参数，其他数据类型原值返回
      */
      const p1 = new Promise((resolve) => resolve(100));
      async function fn() {
        console.log(await 1); //1
        console.log(await "hello"); //hello
        console.log(await true); //true
        console.log(await { a: 1 }); //true
        console.log(await p1); //100
      }
      fn();
    </script>
  </body>
</html>
